/*
 * Project CelestialBeing: serializable.hpp
 * Created: 2023/12/15
 * This program uses MulanPSL2. See LICENSE for more.
 */

#ifndef CELESTIALBEING_SERIALIZABLE_HPP
#define CELESTIALBEING_SERIALIZABLE_HPP

#include "cb/common/celestial_being_base.hpp"

CB_NAMESPACE_BEGIN
class Serializable {
public:
    virtual ~Serializable() = default;
    virtual void Serialize(std::ostream &os) const = 0;
    virtual void Deserialize(std::istream &is) = 0;
};
CB_NAMESPACE_END

#endif //CELESTIALBEING_SERIALIZABLE_HPP
